/**
 * 这里定义一个模块
 * 模块可以接受三个参数 
 * String id 模块id
 * Array|String  depends 模块依赖数组
 * function factory 工厂函数
 * 
 * 模块id和依赖数组一般 不用 
 * define只有一个参数时，id会被默认赋值为此js文件的绝对路径。
 * 如example.com下的a.js文件中 使用define定义模块，则这个模块的ID会赋值为―http://example.com/a.js
 * 没有特别的必要建议不要传入id。deps一 般也不需要传入，需要用到的模块用require加载即可。
 */
define(
/**
 * 工厂函数 
 * 参数
 * require 模块加载函数
 * exports 对外接口
 * module 元数据
 */
function(require, exports, module) {
	//引入jquery
	var $ = require('module/jquery/jquery');

	var data = 'hello world!';
	//外包引用变量
	exports.exportData = data;
	//外部引用方法
	exports.exportFunction = function(str) {
		alert(str);
	};

	exports.ajaxTest = ajaxFunction;

	//ajax测试 
	function ajaxFunction(type,url) {
		$.ajax({
			url : url,
			type : type,
			data : {"str" : "Hello World"},
			success : function(response) {
				alert(response.nickname);
			},
			error : function(response) {
				result = "error";
			}
		});
		return result;
	}
	;

	$("a#ajaxwithannotaion").click(function() {
		alert("ajaxwithannotaion");
		ajaxFunction("post","getJson");
	});
	
	$("a#ajaxwithannotaion_get").click(function() {
		alert("ajaxwithannotaion");
		ajaxFunction("get","getJson_get");
	});

});